/**
 * Store通用常量
 * 提供Store模块使用的常量定义
 */

// 导入基础常量
import baseConstants from '../../constants/constants.js';

// 缓存相关常量
const CACHE_CONSTANTS = {
  // 缓存前缀
  CACHE_PREFIX: 'MOBX_STORE_',
  
  // 用户相关缓存
  CACHE_USER: 'USER_DATA',
  CACHE_PASSPORT: 'PASSPORT',
  CACHE_TOKEN: 'USER_TOKEN',
  
  // 消息相关缓存
  CACHE_MESSAGE: 'MESSAGE_LIST',
  
  // 任务相关缓存
  CACHE_TASK: 'TASK_DATA',
  
  // 知识库相关缓存
  CACHE_KNOWLEDGE: 'KNOWLEDGE_DATA',
  
  // UI相关缓存
  CACHE_UI: 'UI_SETTINGS',
  
  // 缓存组
  CACHE_GROUP: {
    USER: 'user',
    SYSTEM: 'system',
    CONTENT: 'content',
    TASK: 'task'
  },
  
  // 缓存过期时间（毫秒）
  EXPIRE_TIME: {
    SHORT: 5 * 60 * 1000,      // 5分钟
    NORMAL: 30 * 60 * 1000,    // 30分钟
    LONG: 2 * 60 * 60 * 1000,  // 2小时
    DAY: 24 * 60 * 60 * 1000   // 1天
  }
};

// 状态相关常量
const STATUS_CONSTANTS = {
  // 通用状态
  STATUS: {
    NORMAL: 1,   // 正常
    HIDDEN: 0,   // 隐藏
    DISABLED: 2, // 禁用
    DELETED: 9   // 已删除
  },
  
  // 处理状态
  PROCESS_STATUS: {
    PENDING: 0,     // 待处理
    PROCESSING: 1,  // 处理中
    COMPLETED: 2,   // 已完成
    REJECTED: 3,    // 已拒绝
    CANCELED: 4     // 已取消
  }
};

// UI相关常量
const UI_CONSTANTS = {
  // 主题
  THEME: {
    LIGHT: 'light',
    DARK: 'dark'
  },
  
  // 颜色
  COLORS: {
    PRIMARY: '#0066cc',
    SUCCESS: '#19be6b',
    WARNING: '#ff9900',
    ERROR: '#ed4014',
    INFO: '#2db7f5'
  }
};

// API相关常量
const API_CONSTANTS = {
  // 通用API路径前缀
  API_PREFIX: '',
  
  // API请求超时时间(毫秒)
  TIMEOUT: 15000
};

// 事件相关常量
const EVENT_CONSTANTS = {
  // 全局事件
  GLOBAL_EVENTS: {
    LOGIN: 'login',
    LOGOUT: 'logout',
    APP_SHOW: 'appShow',
    APP_HIDE: 'appHide',
    NETWORK_CHANGE: 'networkChange',
    THEME_CHANGE: 'themeChange'
  }
};

// 合并所有常量
const constants = {
  ...baseConstants,
  ...CACHE_CONSTANTS,
  ...STATUS_CONSTANTS,
  ...UI_CONSTANTS,
  ...API_CONSTANTS,
  ...EVENT_CONSTANTS
};

// 默认导出
export default constants; 